package com.ruoyi.hbs.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 产品档案主档表
 */
@ApiModel(description="产品档案主档表")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "product_archive")
public class ProductArchive implements Serializable,HbsEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value="主键")
    private String id;

    /**
     * 销售状态 (在售, 停售)
     */
    @TableField(value = "sales_status")
    @ApiModelProperty(value="销售状态 (在售, 停售)")
    private String salesStatus;

    /**
     * 产品简称
     */
    @TableField(value = "product_short_name")
    @ApiModelProperty(value="产品简称")
    private String productShortName;

    /**
     * 产品全称
     */
    @TableField(value = "product_full_name")
    @ApiModelProperty(value="产品全称")
    private String productFullName;

    /**
     * 生产单位
     */
    @TableField(value = "production_unit")
    @ApiModelProperty(value="生产单位")
    private String productionUnit;

    /**
     * MAH单位
     */
    @TableField(value = "mah_unit")
    @ApiModelProperty(value="MAH单位")
    private String mahUnit;

    /**
     * 物料编码
     */
    @TableField(value = "material_code")
    @ApiModelProperty(value="物料编码")
    private String materialCode;

    /**
     * 产品线
     */
    @TableField(value = "product_line")
    @ApiModelProperty(value="产品线")
    private String productLine;

    /**
     * KPI类别
     */
    @TableField(value = "kpi_category")
    @ApiModelProperty(value="KPI类别")
    private String kpiCategory;

    /**
     * 剂型
     */
    @TableField(value = "dosage_form")
    @ApiModelProperty(value="剂型")
    private String dosageForm;

    /**
     * 产品名称
     */
    @TableField(value = "product_name")
    @ApiModelProperty(value="产品名称")
    private String productName;

    /**
     * 规格
     */
    @TableField(value = "specification")
    @ApiModelProperty(value="规格")
    private String specification;

    /**
     * 包装规格
     */
    @TableField(value = "packaging_spec")
    @ApiModelProperty(value="包装规格")
    private String packagingSpec;

    /**
     * 保质期
     */
    @TableField(value = "shelf_life")
    @ApiModelProperty(value="保质期")
    private String shelfLife;

    /**
     * 品牌
     */
    @TableField(value = "brand")
    @ApiModelProperty(value="品牌")
    private String brand;

    /**
     * 物料采购管理 (需要, 无需)
     */
    @TableField(value = "material_procurement_mgmt")
    @ApiModelProperty(value="物料采购管理 (需要, 无需)")
    private String materialProcurementMgmt;

    /**
     * 片(粒)/瓶(盒)
     */
    @TableField(value = "pieces_per_bottle")
    @ApiModelProperty(value="片(粒)/瓶(盒)")
    private String piecesPerBottle;

    /**
     * 瓶(盒)/件(箱)
     */
    @TableField(value = "bottles_per_case")
    @ApiModelProperty(value="瓶(盒)/件(箱)")
    private String bottlesPerCase;

    /**
     * 万片(粒)/批/生产
     */
    @TableField(value = "pieces_per_batch")
    @ApiModelProperty(value="万片(粒)/批/生产")
    private String piecesPerBatch;

    /**
     * 理论产出(万片,万粒,万袋)
     */
    @TableField(value = "theoretical_output_pieces")
    @ApiModelProperty(value="理论产出(万片,万粒,万袋)")
    private String theoreticalOutputPieces;

    /**
     * 理论产出(件,箱)
     */
    @TableField(value = "theoretical_output_cases")
    @ApiModelProperty(value="理论产出(件,箱)")
    private String theoreticalOutputCases;

    /**
     * 生产工序(道)
     */
    @TableField(value = "production_process_count")
    @ApiModelProperty(value="生产工序(道)")
    private String productionProcessCount;

    /**
     * 总入库数(瓶,盒)
     */
    @TableField(value = "total_inbound_bottles")
    @ApiModelProperty(value="总入库数(瓶,盒)")
    private String totalInboundBottles;

    /**
     * 总出库数(瓶,盒)
     */
    @TableField(value = "total_outbound_bottles")
    @ApiModelProperty(value="总出库数(瓶,盒)")
    private String totalOutboundBottles;

    /**
     * 总出库数(件,箱)
     */
    @TableField(value = "total_outbound_cases")
    @ApiModelProperty(value="总出库数(件,箱)")
    private String totalOutboundCases;

    /**
     * 现库存数(瓶,盒)
     */
    @TableField(value = "current_stock_bottles")
    @ApiModelProperty(value="现库存数(瓶,盒)")
    private String currentStockBottles;

    /**
     * 现库存数(件,箱)
     */
    @TableField(value = "current_stock_cases")
    @ApiModelProperty(value="现库存数(件,箱)")
    private String currentStockCases;

    /**
     * 安全库存(件,箱)
     */
    @TableField(value = "safety_stock_cases")
    @ApiModelProperty(value="安全库存(件,箱)")
    private String safetyStockCases;

    /**
     * 月均计划销量(件,箱)
     */
    @TableField(value = "monthly_planned_sales_cases")
    @ApiModelProperty(value="月均计划销量(件,箱)")
    private String monthlyPlannedSalesCases;

    /**
     * 出库单位
     */
    @TableField(value = "outbound_unit")
    @ApiModelProperty(value="出库单位")
    private String outboundUnit;

    /**
     * 年度指标
     */
    @TableField(value = "annual_target")
    @ApiModelProperty(value="年度指标")
    private String annualTarget;

    /**
     * 年度销售
     */
    @TableField(value = "annual_sales")
    @ApiModelProperty(value="年度销售")
    private String annualSales;

    /**
     * 指标完成率
     */
    @TableField(value = "target_completion_rate")
    @ApiModelProperty(value="指标完成率")
    private String targetCompletionRate;

    /**
     * 所属中心
     */
    @TableField(value = "center")
    @ApiModelProperty(value="所属中心")
    private String center;

    /**
     * 一级部门
     */
    @TableField(value = "department_level1")
    @ApiModelProperty(value="一级部门")
    private String departmentLevel1;

    /**
     * 业务部门（三级）
     */
    @TableField(value = "department_level3")
    @ApiModelProperty(value="业务部门（三级）")
    private String departmentLevel3;

    /**
     * 创建时间
     */
    @TableField(value = "created_on")
    @ApiModelProperty(value="创建时间")
    private Date createdOn;

    /**
     * 更新时间
     */
    @TableField(value = "updated_on")
    @ApiModelProperty(value="更新时间")
    private Date updatedOn;
}